1. Field of the Invention
The present invention relates to image processing and image transformation and more particularly to improvements in determining sub-pixel position within a pixelated image.
2. Description of the Related Art
In computer graphics applications, source images are created and manipulated by a user to achieve a variety of effects. A user may, among other operations, rotate, invert, animate, distort, resize, color or combine images. A computer graphics or imaging system provides a tool to accomplish these operations.
Many upper level systems require the use of techniques to distort an image as required. As an example of this Head Up Display (HUD) systems for aircraft typically include a HUD projector (often embodied as an Overhead Unit (OHU) or in-dash unit) that projects symbology unto a combiner. It contains the light source for the display and the optical system that focuses the image to be viewed by the pilot at optical infinity. Because of the optical system, the pilot has the sense of viewing the displayed symbology through the combiner. This allows the pilot to focus vision well out in front of the airplane where other aircraft, terrain and other visual features can be noticed. However, the optical system has aberrations that are required to be adjusted for. There is a need to compensate for these display system distortions in order to produce a high quality image.
The prior art includes references to performing warping or distortion operations for image processing. For example, U.S. Pat. No. 5,175,808, issued to R. Sayre, entitled, “Method and Apparatus for Non-Affine Image Warping”, discloses a method and apparatus for two-pass image transformation, providing a general solution to execute arbitrary warping of an image. A bicubic mesh is created, by splines or other suitable means, and is used to create displacement tables for X and Y displacement. Alternatively, the displacement tables can be generated directly. The displacement tables represent the movement of each pixel from an original location in the source image to a new location in the destination image. One of the displacement maps is applied to the source image to create an intermediate image and to the other displacement map to create a resampled displacement map. The resampled map is then applied to the intermediate image to create the destination image. By resampling, compensation for altered location points is done automatically. In this manner, no inversion of the underlying equations and functions is required.
U.S. Pat. No. 6,819,333, issued to G. Sadowski, entitled, “System and Method for Displaying An Image Using Display Distortion Correction”, discloses a system for display distortion correction that includes a database that stores one or more pixel correction vectors and one or more sub-pixel correction vectors. The system also includes a buffer that receives and stores an input image data unit including a plurality of pixels. Furthermore, the system includes a system controller that is coupled to the database and to the buffer. The system controller generates a coarsely-corrected image data unit including a plurality of pixels by mapping one or more pixels of the coarsely-corrected image data unit to corresponding pixels of the input image data unit according to corresponding pixel correction vectors. Each pixel correction vector is associated with a particular pixel of the coarsely-corrected image data unit. The system also includes an interpolation filter that is coupled to the system controller and the database. The interpolation filter receives the coarsely-corrected image data unit and generates a finely-corrected image data unit using the coarsely-corrected image data unit and corresponding sub-pixel correction vectors.
In U.S. Pat. No. 6,670,965, issued to J. R. McKeown, entitled, “Single-Pass Warping Engine”, a first scanline of an input image is spatially transformed into a first pixel sequence of an output image. Holes in the first sequence are interpolated if magnifying the input image. Overlapping pixels in the first sequence are adjusted if minifying the input image. After transforming the first scanline, a second scanline of the source image is transformed into a second pixel sequence of the output image. Holes in the second sequence are interpolated if magnifying the input image. Overlapping pixels in the second sequence are adjusted if minifying the input image. Overlapping pixels across the first and second sequences are adjusted and holes between the first and second sequences are interpolated if rotating the input image.
Another example is disclosed in U.S. Pat. No. 6,867,770, issued to B. A. Payne, entitled “Systems and Methods For Voxel Warping”, that discloses systems and methods for calculating a modification of a geometrical shape by applying an inverse modification function to an array representing the shape. An array representing the geometrical shape is defined on a multi-dimensional space. A modification function is used to modify the geometrical shape. A user or a programmed computer can select the modification function. The computer applies an inverse of the modification function to the array. The computer deduces a change in the geometrical shape from the modified array.
As will be disclosed below, the present invention provides a specific technique for determining intensity of a sub-pixel position within a pixelated image to enhance the image quality thereof. This is provided as a single pass process that does not add latency.